#! /bin/bash
#
# Reformat source code using clang-format.
#
# This script is not portable: as of Ubuntu 21.04, virtualenv's "activate"
# seems to rely on a non-POSIX variable, $OSTYPE.

set -C -u -e

# Reformat C++ files.
find . -name '*.[ch]xx' -print0 | xargs -0 clang-format -i


# Reformat CMake files.
WORKDIR=$(mktemp -d)
virtualenv -q --python="$(which python3)" "$WORKDIR/venv"
# shellcheck disable=SC1091
source "$WORKDIR"/venv/bin/activate
pip install -q six pyaml cmake-format
(find . -name '*.cmake' -print0 | xargs -0 -n1 cmake-format -i) || true
rm -rf "$WORKDIR"
